Procedures and objects facilities haring and using the code at the program level.
The code is compiled into machine code and stored in the files ie. assemblies.
Sharing code at the file level is facilitated
by using libraries ".dll" (dynamic link libraries)
As for the procedures code can be included
in a file shared by many programs to facilitate their development and maintenance.

Program code is usually compiled to machine code
and then is executed on a specific computer processors.
It is not possible to run a program compiled for one processor on another machine.
Another step forward in order to ensure a code sharing
are modern development environments, eg. .NET Framework or "Java".
The program in the ".NET" environment is compiled into a universal intermediate code.
Intermediate code is compiled into machine code on the target machine.
This ensures portability and using the same code on different computers.